package py.com.alfa.escriba.gui.dto.admin;



import java.util.Date;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import py.com.alfa.escriba.gui.utils.ObjectUtils;



@JsonIgnoreProperties(ignoreUnknown = true)
public class ControlesEscriturasDTO {
	private Long id;
	private Long idControl;
	private Long idEscribano;
	private Integer nroEscritura;
	private Long idProtocolo;
	private Date fechaEscritura;
	private Integer folioDesde;
	private Integer folioHasta;
	private Integer tomo;
	private Long idEstadoEscritura;
	private String contratanteUno;
	private String contratanteDos;
	private String motivoAnulacion;
	private Date  fechaAnulacion; 
	private Long idUsuarioAnulacion;
	private TabRefDTO protocolo;
	private TabRefDTO estado;
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Long getIdControl() {
		return idControl;
	}
	public void setIdControl(Long idControl) {
		this.idControl = idControl;
	}
	public Long getIdEscribano() {
		return idEscribano;
	}
	public void setIdEscribano(Long idEscribano) {
		this.idEscribano = idEscribano;
	}
	public Integer getNroEscritura() {
		return nroEscritura;
	}
	public void setNroEscritura(Integer nroEscritura) {
		this.nroEscritura = nroEscritura;
	}
	public Long getIdProtocolo() {
		return idProtocolo;
	}
	public void setIdProtocolo(Long idProtocolo) {
		this.idProtocolo = idProtocolo;
	}
	public Date getFechaEscritura() {
		return fechaEscritura;
	}
	public void setFechaEscritura(Date fechaEscritura) {
		this.fechaEscritura = fechaEscritura;
	}
	public Integer getFolioDesde() {
		return folioDesde;
	}
	public void setFolioDesde(Integer folioDesde) {
		this.folioDesde = folioDesde;
	}
	public Integer getFolioHasta() {
		return folioHasta;
	}
	public void setFolioHasta(Integer folioHasta) {
		this.folioHasta = folioHasta;
	}
	public Integer getTomo() {
		return tomo;
	}
	public void setTomo(Integer tomo) {
		this.tomo = tomo;
	}
	public Long getIdEstadoEscritura() {
		return idEstadoEscritura;
	}
	public void setIdEstadoEscritura(Long idEstadoEscritura) {
		this.idEstadoEscritura = idEstadoEscritura;
	}
	public String getContratanteUno() {
		return contratanteUno;
	}
	public void setContratanteUno(String contratanteUno) {
		this.contratanteUno = ObjectUtils.parseString(contratanteUno);
	}
	public String getContratanteDos() {
		return contratanteDos;
	}
	public void setContratanteDos(String contratanteDos) {
		this.contratanteDos = ObjectUtils.parseString(contratanteDos);
	}
	public TabRefDTO getProtocolo() {
		return protocolo;
	}
	public void setProtocolo(TabRefDTO protocolo) {
		this.protocolo = protocolo;
	}
	public String getMotivoAnulacion() {
		return motivoAnulacion;
	}
	public void setMotivoAnulacion(String motivoAnulacion) {
		this.motivoAnulacion = ObjectUtils.parseString(motivoAnulacion);
	}
	public Date getFechaAnulacion() {
		return fechaAnulacion;
	}
	public void setFechaAnulacion(Date fechaAnulacion) {
		this.fechaAnulacion = fechaAnulacion;
	}
	public Long getIdUsuarioAnulacion() {
		return idUsuarioAnulacion;
	}
	public void setIdUsuarioAnulacion(Long idUsuarioAnulacion) {
		this.idUsuarioAnulacion = idUsuarioAnulacion;
	}
	public TabRefDTO getEstado() {
		return estado;
	}
	public void setEstado(TabRefDTO estado) {
		this.estado = estado;
		this.setIdEstadoEscritura(estado != null ? estado.getId() : null);
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result
				+ ((idControl == null) ? 0 : idControl.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ControlesEscriturasDTO other = (ControlesEscriturasDTO) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (idControl == null) {
			if (other.idControl != null)
				return false;
		} else if (!idControl.equals(other.idControl))
			return false;
		return true;
	}
	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("ControlesEscriturasDTO [id=").append(id)
				.append(", idControl=").append(idControl)
				.append(", idEscribano=").append(idEscribano)
				.append(", nroEscritura=").append(nroEscritura)
				.append(", idProtocolo=").append(idProtocolo)
				.append(", fechaEscritura=").append(fechaEscritura)
				.append(", folioDesde=").append(folioDesde)
				.append(", folioHasta=").append(folioHasta).append(", tomo=")
				.append(tomo).append(", idEstadoEscritura=")
				.append(idEstadoEscritura).append(", contratanteUno=")
				.append(contratanteUno).append(", contratanteDos=")
				.append(contratanteDos).append(", motivoAnulacion=")
				.append(motivoAnulacion).append(", fechaAnulacion=")
				.append(fechaAnulacion).append(", idUsuarioAnulacion=")
				.append(idUsuarioAnulacion).append(", protocolo=")
				.append(protocolo).append(", estado=").append(estado).append("]");
		return builder.toString();
	}

}